import { ISysJobPosition } from '/@/views/_admin/sysjobposition/api/interface';
import { ISysGroup } from '/@/views/fileattachment/api/interface';
import { ISysOrg } from '/@/views/_admin/sysorg/api/interface';



export interface ISysHrRecruitPublishRequestBill {
	ID?: string | null;
	Title: string | null;
	Description: string | null;
	HireNumber: number;
	ExpectedDate: Date | null;
	JobRequirement: string | null;
	EducationRequirement?: '初中' | '高中' | '中专' | '大专' | '本科' | '研究生' | '硕士' | '博士' | '博士后' | '博士研究生' | '其他' | null;
	MajorRequirement: string | null;
	GenderRequirement?: '男' | '女' | '其他' | null;
	AgeRequirement: string | null;
	OtherRequirement: string | null;
	SalaryRange: string | null;
	Benefits: string | null;
	JobPositionId: null;
	JobPosition?: ISysJobPosition;
	PublishStartDate: Date | null;
	PublishEndDate: Date | null;
	IsExternalPublish: boolean;
	ContactPerson: string | null;
	ContactPhone: string | null;
	ContactEmail: string | null;
	Approver: string | null;
	ApprovalTime: Date | null;
	GroupId: null;
	Group?: ISysGroup;
	OrgId: null;
	Org?: ISysOrg;
	BillCode: string | null;
	BillStatus?: '草稿' | '正文' | null;
	WorkflowStatus?: '待提交' | '提交中' | '审核中' | '已完成' | '已取消' | '待处理' | '处理中' | '已处理' | null;
	Remark: string | null;
}

export interface ISysHrRecruitPublishRequestBillVm {
	Entity: ISysHrRecruitPublishRequestBill;
	ActionName?: string | null;
	IsMyApprove?: boolean | null;
	Remark?: string | null;
}

export interface ISysHrRecruitPublishRequestBillView extends ISysHrRecruitPublishRequestBill {

}

export interface ISysHrRecruitPublishRequestBillQuery {
	Title?: string | null;
	Description?: string | null;
	HireNumber?: number | null;
	ExpectedDate?: Date | null;
	JobRequirement?: string | null;
	EducationRequirement?: number | null;
	MajorRequirement?: string | null;
	GenderRequirement?: number | null;
	AgeRequirement?: string | null;
	OtherRequirement?: string | null;
	SalaryRange?: string | null;
	Benefits?: string | null;
	JobPositionId?: string | null;
	PublishStartDate?: Date | null;
	PublishEndDate?: Date | null;
	IsExternalPublish?: boolean | null;
	ContactPerson?: string | null;
	ContactPhone?: string | null;
	ContactEmail?: string | null;
	RecruitPoolId?: string | null;
	Approver?: string | null;
	ApprovalTime?: Date | null;
	GroupId?: string | null;
	OrgId?: string | null;
	BillCode?: string | null;
	BillStatus?: number | null;
	WorkflowStatus?: number | null;
	Remark?: string | null;
}